﻿using System;
using System.Collections.Generic;

namespace Pap.Data
{
    /// <summary>
    /// 
    /// </summary>
    public interface ICommitteeBankAccountDeposite : IEntity
    {
        /// <summary>
        /// Gets or sets the committee bank account deposit ID.
        /// </summary>
        /// <value>
        /// The committee bank account deposit ID.
        /// </value>
        Guid CommitteeBankAccountDepositID { get; set; }
        /// <summary>
        /// Gets or sets the committee bank account ID.
        /// </summary>
        /// <value>
        /// The committee bank account ID.
        /// </value>
        Guid CommitteeBankAccountID { get; set; }
        /// <summary>
        /// Gets or sets the deposit date.
        /// </summary>
        /// <value>
        /// The deposit date.
        /// </value>
        DateTime DepositDate { get; set; }
        /// <summary>
        /// Gets or sets the operation number.
        /// </summary>
        /// <value>
        /// The operation number.
        /// </value>
        string OperationNumber { get; set; }
        /// <summary>
        /// Gets or sets the notes.
        /// </summary>
        /// <value>
        /// The notes.
        /// </value>
        string Notes { get; set; }

        /// <summary>
        /// Gets the committee bank account.
        /// </summary>
        ICommitteeBankAccount CommitteeBankAccount { get; }
        /// <summary>
        /// Gets the committee bank account deposit receipts.
        /// </summary>
        IEnumerable<ICommitteeBankAccountDepositReceipt> CommitteeBankAccountDepositReceipts { get; }
        /// <summary>
        /// Gets the committee bank account deposit attachments.
        /// </summary>
        IEnumerable<ICommitteeBankAccountDepositAttachment> CommitteeBankAccountDepositAttachments { get; }
    }
}
